
package com.springcloud.zuul.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.springcloud.zuul.entity.SysUserEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 系统用户
 *
 */
@Mapper
public interface SysUserDao extends BaseMapper<SysUserEntity> {

	/**
	 * Description:根据用户编码获取用户资料
	 * @author zhlu
	 * @date 2019/12/26 10:53 上午
	 * @param userId
	 * @return com.springcloud.zuul.entity.SysUserEntity
	 */
	SysUserEntity queryByUserId(String userId);

	/**
	 * Description:根据手机号获取用户资料
	 * @author zhlu
	 * @date 2019/12/27 1:55 下午
	 * @param phone
	 * @return com.springcloud.zuul.entity.SysUserEntity
	 */
	int countByPhone(String phone);
	
	/**
	 * 查询用户的所有权限
	 * @param userId  用户ID
	 */
	List<String> queryAllPerms(@Param("userId") String userId,@Param("productId") String productId);

	/**
	 * Description:根据产品编码查询所有权限
	 * @author zhlu
	 * @date 2020/1/8 3:56 下午
	 * @param productId
	 * @return java.util.List<java.lang.String>
	 */
	List<String> queryAllByProduPerms(@Param("productId") String productId);

	/**
	 * 查询用户的所有菜单ID
	 */
	List<String> queryAllMenuId(@Param("userId") String userId,@Param("productId") String productId);


	/**
	 * 根据用户名，查询系统用户
	 */
	SysUserEntity queryByUserName(String username);


	/**
	 * 根据用户名，查询系统用户
	 */
	SysUserEntity queryByPhone(String phone);

}
